The present disclosure relates to computer security, and more specifically, to providing a comprehensive, system-wide cross-reference mechanism using runtime data collection.
Cross-reference files are used to store data reflecting associations between executable objects and files and/or other executable objects in a system. For example, if a program accesses a file storing customer addresses, the cross-reference file for the system would reflect an association between the program and the file storing the customer addresses. However, conventional approaches to generating cross-reference information are incomplete, as the cross-reference information is gathered by tools that analyze source code, or created by compilers at compilation time of an application. These compilers and source code analyzers cannot produce a complete and accurate picture of the cross-reference information in a system because source code often contains program variables whose values are unknown at compilation time (e.g., when the name of a target file is defined in the code by a variable, rather than the actual name of the target file). Rather, the values of these variables are set at runtime of the application, and therefore cannot be included in the cross-reference files generated by source code analyzers and compilers.